home *** CD-ROM | disk | FTP | other *** search
/ Aminet 31 / Aminet 31 (1999)(Schatztruhe)[!][Jun 1999].iso / Aminet / dev / gui / gtlayout.lha / Include / gtlayout.h < prev   
C/C++ Source or Header  |  1998-09-09  |  21KB  |  687 lines

  1. /*
  2. **    $VER: gtlayout.h 45.1 (3.7.98)
  3. **    GadTools layout toolkit
  4. **
  5. **    Copyright © 1993-1998 by Olaf `Olsen' Barthel
  6. **        Freely distributable.
  7. */
  8.  
  9. #ifndef _GTLAYOUT_H
  10. #define _GTLAYOUT_H
  11.  
  12.  
  13. /*****************************************************************************/
  14.  
  15.  
  16. #ifndef INTUITION_GADGETCLASS_H
  17. #include <intuition/gadgetclass.h>
  18. #endif    /* !INTUITION_GADGETCLASS_H */
  19.  
  20. #ifndef LIBRARIES_GADTOOLS_H
  21. #include <libraries/gadtools.h>
  22. #endif    /* !LIBRARIES_GADTOOLS_H */
  23.  
  24.  
  25. /*****************************************************************************/
  26.  
  27.  
  28. /* Kinds of objects supported in addition to the normal GadTools kinds */
  29. #define HORIZONTAL_KIND    45
  30. #define VERTICAL_KIND    46
  31. #define END_KIND    47
  32. #define FRAME_KIND    48
  33. #define BOX_KIND    49
  34. #define FRACTION_KIND    50
  35. #define XBAR_KIND    51
  36. #define YBAR_KIND    52
  37. #define PASSWORD_KIND    53
  38. #define GAUGE_KIND    54
  39. #define TAPEDECK_KIND    55
  40. #define LEVEL_KIND    56
  41. #define BOOPSI_KIND    57
  42. #define POPUP_KIND    58
  43. #define TAB_KIND    59
  44. #define BLANK_KIND    60
  45. #define IMAGE_KIND    61
  46.  
  47.  
  48. /*****************************************************************************/
  49.  
  50.  
  51. /* Where to place a gadget label */
  52. enum
  53. {
  54.     PLACE_Left,
  55.     PLACE_Right,
  56.     PLACE_Above,
  57.     PLACE_In,
  58.     PLACE_Below
  59. };
  60.  
  61. /* How to align text lines in BOX_KIND gadgets */
  62. enum
  63. {
  64.     ALIGNTEXT_Left,
  65.     ALIGNTEXT_Centered,
  66.     ALIGNTEXT_Right,
  67.     ALIGNTEXT_Pad
  68. };
  69.  
  70. /* The button images available for TAPEDECK_KIND gadgets. */
  71. enum
  72. {
  73.     TDBT_Backward,
  74.     TDBT_Forward,
  75.     TDBT_Previous,
  76.     TDBT_Next,
  77.     TDBT_Stop,
  78.     TDBT_Pause,
  79.     TDBT_Record,
  80.     TDBT_Rewind,
  81.     TDBT_Eject,
  82.     TDBT_Play,
  83.  
  84.     TDBTLAST
  85. };
  86.  
  87. /* The frame types for groups. */
  88. enum
  89. {
  90.     FRAMETYPE_None,
  91.     FRAMETYPE_Label,
  92.     FRAMETYPE_Tab
  93. };
  94.  
  95. /* How to align the window opened by LT_Build() on the screen. */
  96. #define ALIGNF_Right        (1 << 0)
  97. #define ALIGNF_Left        (1 << 1)
  98. #define ALIGNF_Top        (1 << 2)
  99. #define ALIGNF_Bottom        (1 << 3)
  100. #define ALIGNF_ExtraRight    (1 << 4)
  101. #define ALIGNF_ExtraLeft    (1 << 5)
  102. #define ALIGNF_ExtraTop        (1 << 6)
  103. #define ALIGNF_ExtraBottom    (1 << 7)
  104.  
  105.  
  106. /*****************************************************************************/
  107.  
  108.  
  109. /* Generic tags, applicable for several object types */
  110. #define LA_Chars        TAG_USER+2
  111. #define LA_LabelPlace        TAG_USER+3
  112. #define LA_ExtraSpace        TAG_USER+4
  113. #define LA_NoKey        TAG_USER+30
  114. #define LA_HighLabel        TAG_USER+31
  115. #define LA_LabelText        TAG_USER+37
  116. #define LA_LabelID        TAG_USER+38
  117. #define LA_ID            TAG_USER+39
  118. #define LA_Type            TAG_USER+40
  119. #define LA_PageSelector        TAG_USER+79
  120. #define LA_LabelChars        TAG_USER+107
  121. #define LA_DefaultSize        TAG_USER+170
  122. #define LA_LayoutSpace        TAG_USER+189
  123.  
  124. /* Storage type tags */
  125. #define LA_BYTE            TAG_USER+63
  126. #define LA_UBYTE        TAG_USER+64
  127. #define LA_WORD            TAG_USER+65
  128. #define LA_BOOL            TAG_USER+65
  129. #define LA_UWORD        TAG_USER+66
  130. #define LA_LONG            TAG_USER+67
  131. #define LA_ULONG        TAG_USER+68
  132. #define LA_STRPTR        TAG_USER+69
  133.  
  134. /* for use with LT_GetAttributes() only */
  135. #define LA_Left            TAG_USER+16
  136. #define LA_Top            TAG_USER+17
  137. #define LA_Width        TAG_USER+18
  138. #define LA_Height        TAG_USER+19
  139. #define LA_LabelLeft        TAG_USER+114
  140. #define LA_LabelTop        TAG_USER+115
  141.  
  142. /* BOOPSI_KIND */
  143. #define LABO_TagCurrent        TAG_USER+119
  144. #define LABO_TagTextAttr    TAG_USER+120
  145. #define LABO_TagDrawInfo    TAG_USER+121
  146. #define LABO_TagLink        TAG_USER+129
  147. #define LABO_TagScreen        TAG_USER+132
  148. #define LABO_Link        LALV_Link
  149. #define LABO_ClassInstance    TAG_USER+122
  150. #define LABO_ClassName        TAG_USER+123
  151. #define LABO_ClassLibraryName    TAG_USER+124
  152. #define LABO_ExactWidth        TAG_USER+127
  153. #define LABO_ExactHeight    TAG_USER+128
  154. #define LABO_RelFontHeight    TAG_USER+131
  155. #define LABO_Object        TAG_USER+133
  156. #define LABO_FullWidth        TAG_USER+135
  157. #define LABO_FullHeight        TAG_USER+136
  158. #define LABO_ActivateHook    TAG_USER+141
  159.  
  160. /* BOX_KIND */
  161. #define LABX_Labels        TAG_USER+12
  162. #define LABX_Lines        TAG_USER+13
  163. #define LABX_Chars        TAG_USER+2
  164. #define LABX_Rows        TAG_USER+1
  165. #define LABX_Index        TAG_USER+14
  166. #define LABX_Text        TAG_USER+15
  167. #define LABX_AlignText        TAG_USER+27
  168. #define LABX_DrawBox        TAG_USER+11
  169. #define LABX_FirstLabel        TAG_USER+44
  170. #define LABX_LastLabel        TAG_USER+45
  171. #define LABX_ReserveSpace    TAG_USER+72
  172. #define LABX_LabelTable        TAG_USER+98
  173. #define LABX_FirstLine        TAG_USER+152
  174. #define LABX_LastLine        TAG_USER+153
  175. #define LABX_LineTable        TAG_USER+156
  176. #define LABX_Line        TAG_USER+161
  177. #define LABX_LineID        TAG_USER+162
  178. #define LABX_TextPen        TAG_USER+172
  179. #define LABX_BackPen        TAG_USER+173
  180. #define LABX_Spacing        TAG_USER+180
  181.  
  182. /* BUTTON_KIND */
  183. #define LABT_ReturnKey        TAG_USER+34
  184. #define LABT_DefaultButton    TAG_USER+34
  185. #define LABT_EscKey        TAG_USER+56
  186. #define LABT_ExtraFat        TAG_USER+29
  187. #define LABT_Lines        TAG_USER+140
  188. #define LABT_FirstLine        TAG_USER+44
  189. #define LABT_LastLine        TAG_USER+45
  190. #define LABT_DefaultCorrection    TAG_USER+145
  191. #define LABT_Smaller        TAG_USER+147
  192.  
  193. /* CYCLE_KIND */
  194. #define LACY_FirstLabel        TAG_USER+44
  195. #define LACY_LastLabel        TAG_USER+45
  196. #define LACY_LabelTable        TAG_USER+98
  197. #define LACY_AutoPageID        TAG_USER+103
  198. #define LACY_TabKey        TAG_USER+118
  199.  
  200. /* FRACTION_KIND */
  201. #define LAFR_IncrementerHook    TAG_USER+85
  202.  
  203. /* FRAME_KIND */
  204. #define LAFR_InnerWidth        TAG_USER+9
  205. #define LAFR_InnerHeight    TAG_USER+10
  206. #define LAFR_DrawBox        TAG_USER+11
  207. #define LAFR_RefreshHook    TAG_USER+117
  208. #define LAFR_GenerateEvents    TAG_USER+155
  209. #define LAFR_ResizeX        LALV_ResizeX
  210. #define LAFR_ResizeY        LALV_ResizeY
  211.  
  212. /* GAUGE_KIND */
  213. #define LAGA_Percent        TAG_USER+36
  214. #define LAGA_InfoLength        TAG_USER+70
  215. #define LAGA_InfoText        TAG_USER+71
  216. #define LAGA_NoTicks        TAG_USER+143
  217. #define LAGA_Discrete        TAG_USER+144
  218. #define LAGA_Tenth        TAG_USER+144
  219.  
  220. /* IMAGE_KIND */
  221. #define LAIM_Image        TAG_USER+181
  222. #define LAIM_BitMap        TAG_USER+182
  223. #define LAIM_BitMapLeft        TAG_USER+183
  224. #define LAIM_BitMapTop        TAG_USER+184
  225. #define LAIM_BitMapWidth    TAG_USER+185
  226. #define LAIM_BitMapHeight    TAG_USER+186
  227. #define LAIM_BitMapMask        TAG_USER+187
  228.  
  229. /* INTEGER_KIND */
  230. #define LAIN_LastGadget        TAG_USER+28
  231. #define LAIN_Min        TAG_USER+23
  232. #define LAIN_Max        TAG_USER+24
  233. #define LAIN_UseIncrementers    TAG_USER+57
  234. #define LAIN_Incrementers    TAG_USER+57
  235. #define LAIN_HistoryLines    TAG_USER+59
  236. #define LAIN_HistoryHook    TAG_USER+80
  237. #define LAIN_IncrementerHook    TAG_USER+85
  238. #define LAIN_Activate        TAG_USER+148
  239.  
  240. /* LISTVIEW_KIND */
  241. #define LALV_ExtraLabels    TAG_USER+26
  242. #define LALV_Labels        TAG_USER+33
  243. #define LALV_CursorKey        TAG_USER+35
  244. #define LALV_Columns        TAG_USER+2
  245. #define LALV_Lines        TAG_USER+1
  246. #define LALV_Link        TAG_USER+7
  247. #define LALV_FirstLabel        TAG_USER+44
  248. #define LALV_LastLabel        TAG_USER+45
  249. #define LALV_MaxGrowX        TAG_USER+77
  250. #define LALV_MaxGrowY        TAG_USER+78
  251. #define LALV_LabelTable        TAG_USER+98
  252. #define LALV_LockSize        TAG_USER+106
  253. #define LALV_ResizeX        TAG_USER+109
  254. #define LALV_ResizeY        TAG_USER+110
  255. #define LALV_MinChars        TAG_USER+111
  256. #define LALV_MinLines        TAG_USER+112
  257. #define LALV_FlushLabelLeft    TAG_USER+113
  258. #define LALV_TextAttr        TAG_USER+138
  259. #define LALV_AutoPageID        TAG_USER+103
  260. #define LALV_Selected        TAG_USER+167
  261. #define LALV_AdjustForString    TAG_USER+174
  262.  
  263. /* LEVEL_KIND */
  264. #define LAVL_Min        GTSL_Min
  265. #define LAVL_Max        GTSL_Max
  266. #define LAVL_Level        GTSL_Level
  267. #define LAVL_LevelFormat    GTSL_LevelFormat
  268. #define LAVL_LevelPlace        GTSL_LevelPlace
  269. #define LAVL_DispFunc        GTSL_DispFunc
  270. #define LAVL_FullCheck        LASL_FullCheck
  271. #define LAVL_Freedom        TAG_USER+177    /* (I)  New in V41 */
  272. #define LAVL_Ticks        TAG_USER+178    /* (I)  New in V41 */
  273. #define LAVL_NumTicks        TAG_USER+179    /* (IS) New in V41 */
  274. #define LAVL_Lines        TAG_USER+1
  275.  
  276. /* MX_KIND */
  277. #define LAMX_FirstLabel        TAG_USER+44
  278. #define LAMX_LastLabel        TAG_USER+45
  279. #define LAMX_LabelTable        TAG_USER+98
  280. #define LAMX_TabKey        TAG_USER+118
  281. #define LAMX_AutoPageID        TAG_USER+103
  282.  
  283. /* PALETTE_KIND */
  284. #define LAPA_SmallPalette    TAG_USER+32
  285. #define LAPA_Lines        TAG_USER+1
  286. #define LAPA_UsePicker        TAG_USER+137
  287. #define LAPA_Picker        TAG_USER+137
  288.  
  289. /* PASSWORD_KIND */
  290. #define LAPW_String             GTST_String
  291. #define LAPW_LastGadget        TAG_USER+28
  292. #define LAPW_HistoryLines    TAG_USER+59
  293. #define LAPW_HistoryHook    TAG_USER+80
  294. #define LAPW_Activate        TAG_USER+148
  295. #define LAPW_MaxChars        GTST_MaxChars
  296.  
  297. /* POPUP_KIND */
  298. #define LAPU_FirstLabel        TAG_USER+44
  299. #define LAPU_LastLabel        TAG_USER+45
  300. #define LAPU_LabelTable        TAG_USER+98
  301. #define LAPU_AutoPageID        TAG_USER+103
  302. #define LAPU_TabKey        TAG_USER+118
  303. #define LAPU_Labels        GTCY_Labels
  304. #define